/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package skladowisko.generator;

import java.util.List;
import skladowisko.Kontener;
import skladowisko.Pole;
import skladowisko.Skladowisko;
import skladowisko.Terminal;

/**
 *
 * @author kedziers
 */
public class RozmieszczaczRownoWysoko  extends Rozmieszczacz{

     private int iloscSkl;

    private int warstwa = 1;

    private int zlozono = 0;



    @Override
    public void zapelnijTerminal(Terminal terminal, List<Kontener> kontenery)
    {
        this.iloscSkl = terminal.getSkladowiska().size();
        super.zapelnijTerminal(terminal, kontenery);
    }

    protected void nextLokalizacja()
     {
        Pole pole = lok.findPole(terminal);
        if(pole.getZawartoscPola().isPelne())
        {
              nextPole();
        }
        else
        {
              lok.W = pole.getZawartoscPola().getPierwszaWolna();

        }
    }

    private void nextPole()
    {
           Skladowisko skl;
           Pole tmp;
           sklIndex++;
           if(sklIndex == terminal.getSkladowiska().size())
           {
                 sklIndex = 0;
                 skl = terminal.getSkladowiska().get(sklIndex);
                 tmp = skl.nextPole(lok.X, lok.Y);

                 if(tmp == null)
                 {
                     warstwa++;
                     lok.X = 1;
                     lok.Y = 1;
                     lok.skladowiskoID = terminal.getSkladowiska().get(sklIndex).getId();
                     lok.W = warstwa;
                     return;
                 }
           }
           else
           {
                skl = terminal.getSkladowiska().get(sklIndex);
                tmp = skl.getPole(lok.X, lok.Y);
           }

           lok.X = tmp.getX();
           lok.Y = tmp.getY();
           lok.skladowiskoID = terminal.getSkladowiska().get(sklIndex).getId();

           nextLokalizacja();
    }


   

}
